Communication protocol layering breaks down the complexity of modern communications into smaller, more convenient pieces. For example, the Open System Interconnect (OSI) reference model includes, at its lowest levels, a physical layer and a data link layer. The physical layer is the lowest level and specifies the bit-level coding and synchronization scheme such that bits may be transferred between users on a network. As is the case with all the remaining layers, the physical layer specification is simply a protocol or rule set and is silent with respect to specific implementations a user may desire. Thus, communication protocol layering allows a user to make implementation changes in one layer without affecting the remaining layers.
Above the physical layer is the data link layer, which specifies, among other matters, how a user accesses the communication medium and related framing, error correction, and addressing issues. The particular set of rules within the data link layer associated with accessing the medium are denoted as the media access control (MAC) sublayer. Without such a layer, a user would not be able to, for example, distinguish idle transmissions from data-containing transmissions. In general, the data link layer will be strongly influenced by the actual transmission medium being used. Thus, the MAC sublayer must be changed depending upon the transmission medium and the communication protocol being supported.
Two approaches are conventionally used to implement the MAC sublayer. In a dedicated approach, each communication protocol being supported requires its own MAC sublayer hardware. For example, each station in a one gigabit Ethernet network may have an application-specific integrated circuit (ASIC) dedicated to performing the appropriate MAC sublayer. Should the network also support a 10 gigabit Ethernet protocol, each station would need another ASIC to support the corresponding MAC sublayer.
Alternatively, a software-implemented approach may be used. In such a technique, a processor loaded with the appropriate software implements the MAC layer.
Each of the above-described approaches suffers from certain disadvantages. Although a dedicated hardware approach offers relatively fast processing speeds, each communication protocols being supported demands more die area since it most have its own MAC sublayer ASIC. Although a software-implemented approach does not require additional die area for each protocol being supported, it suffers from relatively lower processing speed. Thus, a user desiring a system which supports multiple communication protocols is faced with a quandary: choose dedicated MAC sublayer hardware for each protocol to get better processing speed but suffer from increased die space demands or use a processor to implement the necessary MAC sublayers but suffer from lower processing speed.
Accordingly, there is a need in the art for improved techniques to implement the MAC sublayer in communication systems supporting multiple communication protocols.